package work;

import java.lang.annotation.*;

//  学习自定义注解类


//目标：表示这个注解应该是使用在哪种 Java 成员上面
/**
 * TYPE, 接口、类、枚举、注解
 * FIELD, 字段、枚举的常量
 * METHOD, 方法
 * PARAMETER, 方法参数
 * CONSTRUCTOR, 构造函数
 * LOCAL_VARIABLE, 局部变量
 * ANNOTATION_TYPE, 注解
 * PACKAGE,  包
 * TYPE_PARAMETER,  类型形参
 * TYPE_USE
 */
@Target({ElementType.TYPE})
//作用文档
@Documented
//作用域:表示在什么级别保存该注解信息,一般是RUNTIME  RetentionPolicy: SOURCE(源代码) CLASS(class文件,会被jvm丢弃)  RUNTIME(运行时)
@Retention(RetentionPolicy.RUNTIME)
// 标记这个注解是继承于哪个注解类
@Inherited
public @interface AnnotationTest {
    String name() default "";
    int age() default 18;
    String like();
    String IDCard() default "";
}
